//
//  CGMutablePath.swift
//  Documentation
//
//  Created by Toj on 3/29/23.
//

import Foundation

public class CGMutablePath : CGPath {
}

extension CGMutablePath {

    public func addRoundedRect(in rect: CGRect, cornerWidth: CGFloat, cornerHeight: CGFloat, transform: CGAffineTransform = .identity)

    public func move(to point: CGPoint, transform: CGAffineTransform = .identity)

    public func addLine(to point: CGPoint, transform: CGAffineTransform = .identity)

    public func addQuadCurve(to end: CGPoint, control: CGPoint, transform: CGAffineTransform = .identity)

    public func addCurve(to end: CGPoint, control1: CGPoint, control2: CGPoint, transform: CGAffineTransform = .identity)

    public func addRect(_ rect: CGRect, transform: CGAffineTransform = .identity)

    public func addRects(_ rects: [CGRect], transform: CGAffineTransform = .identity)

    public func addLines(between points: [CGPoint], transform: CGAffineTransform = .identity)

    public func addEllipse(in rect: CGRect, transform: CGAffineTransform = .identity)

    public func addRelativeArc(center: CGPoint, radius: CGFloat, startAngle: CGFloat, delta: CGFloat, transform: CGAffineTransform = .identity)

    public func addArc(center: CGPoint, radius: CGFloat, startAngle: CGFloat, endAngle: CGFloat, clockwise: Bool, transform: CGAffineTransform = .identity)

    public func addArc(tangent1End: CGPoint, tangent2End: CGPoint, radius: CGFloat, transform: CGAffineTransform = .identity)

    public func addPath(_ path: CGPath, transform: CGAffineTransform = .identity)
}
